﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum ВидыОбъектовЗагружаемыхИзОпроса
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///Справочник "Физические лица", контактные лица контрагентов, менеджеры
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"71704ddb-bd0d-42f6-bcb4-92873869b7b7\", \"Представление\":\"ФизическиеЛица\"}")]
		ФизическиеЛица = 0,//Справочник "Физические лица"
	///<summary>
	///Справочник контрагентов
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"0b78410e-6aa3-4090-866d-03f505f3c85c\", \"Представление\":\"Контрагенты\"}")]
		Контрагенты = 1,//Справочник "Контрагенты"
		[EnumMember(Value = "{\"Ссылка\":\"dbd46622-787f-41a2-86cd-653480b55a7a\", \"Представление\":\"КонтактныеЛица\"}")]
		КонтактныеЛица = 2,//Справочник "Контактные лица"
	}
	public static partial class ВидыОбъектовЗагружаемыхИзОпроса_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///Справочник "Физические лица", контактные лица контрагентов, менеджеры
		///</summary>
		public static readonly Guid ФизическиеЛица = new Guid("8792b4bc-6938-b7b7-42f6-bd0d71704ddb");//Справочник "Физические лица"
		///<summary>
		///Справочник контрагентов
		///</summary>
		public static readonly Guid Контрагенты = new Guid("f5036d86-f305-5cc8-4090-6aa30b78410e");//Справочник "Контрагенты"
		public static readonly Guid КонтактныеЛица = new Guid("3465cd86-b580-7a5a-41a2-787fdbd46622");//Справочник "Контактные лица"
		public static ВидыОбъектовЗагружаемыхИзОпроса Получить(this ВидыОбъектовЗагружаемыхИзОпроса Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОбъектовЗагружаемыхИзОпроса Получить(this ВидыОбъектовЗагружаемыхИзОпроса Значение, Guid Ссылка)
		{
			if(Ссылка == ФизическиеЛица)
			{
				return ВидыОбъектовЗагружаемыхИзОпроса.ФизическиеЛица;
			}
			else if(Ссылка == Контрагенты)
			{
				return ВидыОбъектовЗагружаемыхИзОпроса.Контрагенты;
			}
			else if(Ссылка == КонтактныеЛица)
			{
				return ВидыОбъектовЗагружаемыхИзОпроса.КонтактныеЛица;
			}
			return ВидыОбъектовЗагружаемыхИзОпроса.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОбъектовЗагружаемыхИзОпроса Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОбъектовЗагружаемыхИзОпроса Значение)
		{
			switch (Значение)
			{
				case ВидыОбъектовЗагружаемыхИзОпроса.ФизическиеЛица: return ФизическиеЛица;
				case ВидыОбъектовЗагружаемыхИзОпроса.Контрагенты: return Контрагенты;
				case ВидыОбъектовЗагружаемыхИзОпроса.КонтактныеЛица: return КонтактныеЛица;
			}
			return Guid.Empty;
		}
	}
}